وحدة:Wikidata/تتبع
local p = {} function trim(s) --Removes leading zeroes from value if s:sub(1,1) "P" then return s:sub(2) else return s end end local function category(propertyid,q,nocate) main = ''.. trim(propertyid) ..'' if nocate and nocate ~= '' then -- to hide the category return '' elseif q and q ~= '' then return q....main end d = mw.text.trim(propertyid) s = list(d) if s then return 'تصنيف:'.. s ..''..main -- linktext(s) end end local function icons(u,id,noicon,icon2) if noicon and noicon ~= '' then -- to hide the icon return '' end local label = mw.wikibase.label(u) -- if label nil or not label then label = else end local temp = label .. ' ('.. u ..')' local ico = 'Twemoji_270f.svg|13px' if icon2 and icon2 ~='' then ico = 'Wikidata-logo.svg|20px' size = '20px' end local so = 'تعديل قيمة خاصية ' .. temp ..' في ويكي بيانات' local im =' ' local noprint= .. im .. local sup= .. noprint .. if u then return noprint end end local function xt(e) return 'صفحات تستخدم خاصية '.. e end local function wd(e) return e .. ' من ويكي بيانات' end local categorieskey = { '7' = 'أخ' ,'9' = 'أخت' ,'18' = 'صور' ,'19' = 'مكان ميلاد' ,'20' = 'مكان وفاة' ,'22' = 'والد' ,'25' = 'والدة' ,'27' = 'مواطنة شخص' ,'37' = 'لغة رسمية' ,'38' = 'عملة' ,'39' = 'منصب' ,'41' = 'علم' ,'50' = 'مؤلف' ,'53' = 'عائلة' ,'54' = 'فرق لاعب' ,'57' = 'مخرج' ,'58' = 'سيناريو' ,'61' = 'مكتشف' ,'66' = 'مسقط رأس شخص' ,'69' = 'مدرسة أم' ,'84' = 'مهندس معماري' ,'86' = 'موسيقي' ,'94' = 'شعار نبالة' ,'98' = 'محرر' ,'101' = 'مجال عمل' ,'106' = 'مهنة' ,'112' = 'مؤسس' ,'115' = 'ملعب' ,'119' = 'مكان دفن شخص' ,'123' = 'ناشر' ,'127' = 'مالك' ,'136' = 'نوع فني' ,'137' = 'مشغل' ,'138' = 'سبب تسمية' ,'140' = 'ديانة' ,'141' = 'حالة حفظ' ,'144' = 'عمل أصلي' ,'154' = 'شعار' ,'155' = 'سبقه' ,'156' = 'تبعه' ,'159' = 'مقر رئيسي' ,'162' = 'منتج' ,'166' = 'جوائز' ,'169' = 'مدير تنفيذي لشركة' ,'170' = 'مخترع' ,'172' = 'عرقية شخص' ,'178' = 'مطور' ,'179' = 'سلسلة' ,'184' = 'مشرف الدكتوراة' ,'185' = 'طلاب دكتوراة' ,'218' = 'رمز أيزو 639-1' ,'219' = 'رمز أيزو 3166-2' ,'219' = 'رمز أيزو 639-2' ,'220' = 'رمز أيزو 639-3' ,'221' = 'رمز أيزو 639-6' ,'225' = 'تسمية علمية' ,'241' = 'فرع عسكري' ,'243' = 'معرف Oclc' ,'249' = 'رمز شركة بالبورصة' ,'263' = 'مقر رسمي' ,'264' = 'شركة تسجيلات' ,'274' = 'صيغة جزيئية' ,'277' = 'لغة برمجة' ,'279' = 'نوع فرعي' ,'286' = 'مدرب' ,'287' = 'مصمم' ,'297' = 'رمز أيزو 3166-1' ,'300' = 'رمز أيزو 3166-2' ,'306' = 'نظام تشغيل' ,'344' = 'مصور سينمائي' ,'355' = 'شركات فرعية' ,'364' = 'لغة' ,'373' = 'قالب تصنيف كومنز بوصلة' ,'404' = 'نمط لعبة' ,'405' = 'واضع تسمية علمية' ,'408' = 'محرك' ,'412' = 'طبقة صوتية' ,'413' = 'مركز لاعب' ,'425' = 'مجال مهنة' ,'428' = 'اختصار عالم نبات' ,'434' = 'معرف ميوزك برينز للفنانين' ,'449' = 'شبكة البث' ,'452' = 'صناعة شركة' ,'463' = 'عضو في' ,'480' = 'معرف فيلمافينيتي' ,'493' = 'كود ICD9' ,'494' = 'كود ICD10' ,'498' = 'رمز أيزو 4217' ,'509' = 'سبب وفاة' ,'598' = 'قيادات شخص' ,'1035' = 'لاحقة شرفية' ,'512' = 'شهادة جامعية' ,'527' = 'مكونات' ,'555' = 'سجل الفوز زوجي' ,'563' = 'كود ICDO' ,'564' = 'سجل الفوز فردي' ,'569' = 'تاريخ ميلاد' ,'570' = 'تاريخ وفاة' ,'574' = 'تاريخ وضع تسمية علمية' ,'607' = 'معارك' ,'625' = 'إحداثيات' ,'634' = 'كابتن' ,'646' = 'قالب فريبيس يستخدم بيانات' ,'648' = 'معرف المكتبة المفتوحة' --,'746' = 'تاريخ الاختفاء' ,'748' = 'معين' ,'749' = 'شركة أم' ,'750' = 'موزع فيلم' ,'757' = 'معرف موقع تراث' ,'802' = 'طلاب' ,'812' = 'تخصص أكاديمي' ,'835' = 'اختصار عالم حيوان' ,'856' = 'موقع رسمي بوصلة' ,'915' = 'موقع تصوير' ,'921' = 'موضوع رئيسي' ,'935' = 'وصلة كومنز' ,'957' = 'معرف ISBN' ,'1006' = 'معرف القاموس الوطني لأسماء المؤلفين' ,'1036' = 'معرف Dewey' ,'1040' = 'مونتاج' ,'1050' = 'مشكلة صحية' ,'1056' = 'منتجات شركة' ,'1098' = 'عدد المتحدثين' ,'1104' = 'عدد الصفحات' ,'1120' = 'وفيات' ,'1128' = 'عدد موظفي شركة' ,'1132' = 'عدد المشاركين' ,'1146' = 'قالب اتحاد ألعاب القوى يستخدم بيانات' ,'1220' = 'معرف شخص في قاعدة بيانات برودواي على الإنترنت' ,'1233' = 'قالب اسفدب يستخدم بيانات' ,'1237' = 'معرف فيلم بوكس أوفيس موجو' ,'1258' = 'معرف موقع الطماطم الفاسدة' ,'1263' = 'معرف شخص في إن إن دي بي' ,'1265' = 'معرف ألو سيني' ,'1266' = 'معرف شخص في ألو سيني' ,'1284' = 'أرشيف مونزينجر' ,'1303' = 'آلات فنان' ,'1308' = 'شاغل منصب' ,'1346' = 'فائز' ,'1365' = 'سبقه' ,'1366' = 'تبعه' ,'1389' = 'شهادة المنتج' -- ,'1409' = 'قالب أرشيف ركوب الدراجات يستخدم بيانات' ,'1412' = 'لغة كاتب' ,'1417' = 'معرف موسوعة بريتانيكا على الإنترنت' ,'1431' = 'منتج تنفيذي' ,'1442' = 'صورة القبر' --not yet ,'1446' = 'مفقودين' ,'1447' = 'قالب سبورتس رفرنس يستخدم بيانات' ,'1451' = 'شعار نصي' ,'1476' = 'عنوان' ,'1546' = 'شعار وطني' ,'1562' = 'عنوان أول موفي' ,'1581' = 'مدونة' ,'1590' = 'خسائر' ,'1663' = 'قالب برو سايكلنج يستخدم بيانات' ,'1712' = 'معرف ميتاكريتيك' ,'1741' = 'معرف المكنز العام للأرشيف السمعي البصري' ,'1798' = 'رمز أيزو 639-5' ,'1819' = 'معرف شخص في جينالوجيكش.كوم' ,'1971' = 'عدد الابناء' ,'1972' = 'معرف أوبن هب يستخدم بيانات' ,'2019' = 'قالب اسم أول موفي يستخدم بيانات' ,'2043' = 'طول' ,'2046' = 'مساحة' ,'2047' = 'مدة' ,'2049' = 'عرض' ,'2067' = 'وزن' ,'2073' = 'مدى' ,'2090' = 'قالب باور اوف تن يستخدم بيانات' ,'2097' = 'مدة ولاية' ,'2096' = 'وصف صورة' ,'2101' = 'نقطة الانصهار' ,'2130' = 'ميزانية' ,'2250' = 'متوسط العمر' ,'2284' = 'سعر الصرف' ,'2334' = 'معرف قاعدة بيانات الأفلام السويدية' ,'2386' = 'قطر' ,'2522' = 'فوز شخص' ,'2534' = 'صيغة' ,'2638' = 'معرف تي في دوت كوم' ,'2656' = 'تصنيف الفيفا' ,'2716' = 'صورة مجمعة'--not yet ,'2910' = 'إيقونة'--not yet ,'3017' = 'معرف فنان في رولينغ ستون' ,'3065' = 'معرف شخص في تيرنر كلاسيك موفيز' ,'3069' = 'رمز وثيقة الأمم المتحدة' ,'3136' = 'معرف السينما.كوم للأشخاص' ,'3143' = 'معرف فيلم في موقع الفيلم' ,'3144' = 'معرف شخص في موقع الفيلم' ,'3383' = 'ملصق فيلم' -- ,' = ' ' -- ,' = ' ' -- ,' = ' ' } function list(s) local I = trim(s) local key = categorieskeyI if key and key ~= "" then --mw.log("key: " .. key) return wd(key) else return xt(s) end end function p.pageId(frame) return mw.wikibase.getEntityIdForCurrentPage() end function p.makecategory1(options) --Main function prop = options'property' noicon = options'noicon' -- options to hide the icon. nocate = options'nocate' -- options to hide the category. q = options'category' iid = options'entityId' or options'id' icon2 = options'icon2' if iid '' or not iid then id = p.pageId() else id = iid end if prop '' or not prop then return nil -- don't do anything if no options property. end propertyid = mw.ustring.gsub(prop:upper(), " ", "") icon = icons(propertyid,id,noicon,icon2) -- function to display the icon. cate = category(propertyid,q,nocate) -- function to display the category. last = cate .... icon return last end function p.makecategory(frame) --Main function local final = p.makecategory1(frame.args) return final end function p.make1(prop,id) --Main function if id '' or not id then id = p.pageId() else id = iid end if prop '' or not prop then return nil -- don't do anything if no args property. end propertyid = mw.ustring.gsub(prop:upper(), " ", "") icon = icons(propertyid,id,noicon) -- function to display the icon. cate = category(propertyid,q,nocate) -- function to display the category. last = cate .... icon return last end function p.SS(frame) --testing function s = mw.ustring.gsub(frame.args'property':upper(), " ", "") s = list(s) s = mw.text.trim(s) if s '' or not s then return nil end q = frame.args'category' if q '' or not q then return category(s) else return q end end return p